/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.zx.question.bank.entity;

import javax.validation.Valid;

import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.common.utils.excel.annotation.ExcelField;
import com.jeesite.common.utils.excel.annotation.ExcelFields;
import com.jeesite.common.utils.excel.annotation.ExcelField.Align;
import com.jeesite.common.utils.excel.annotation.ExcelField.Type;

/**
 * 题库管理Entity
 * @author zpp
 * @version 2020-03-05
 */
@Table(name="t_question_bank", alias="a", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="obj_name", attrName="objName", label="问题名称", queryType=QueryType.LIKE),
		@Column(name="obj_type", attrName="objType", label="问题类型"),
		@Column(includeEntity=DataEntity.class),
		@Column(name="obj_explain", attrName="objExplain", label="数据说明"),
		@Column(name="obj_answer", attrName="objAnswer", label="答案"),
		@Column(name="score", attrName="score", label="问题得分"),
		@Column(name="analysis", attrName="analysis", label="解析"),
		@Column(name="post", attrName="post", label="岗位编码"),
		@Column(name="category", attrName="category", label="考试类别"),
		@Column(name="difficulty", attrName="difficulty", label="困难程度"),
		@Column(name="knowledge_point_type", attrName="knowledgePointType", label="知识类型"),
		@Column(name="option1", attrName="option1", label="选项1"),
		@Column(name="option2", attrName="option2", label="选项2"),
		@Column(name="option3", attrName="option3", label="选项3"),
		@Column(name="option4", attrName="option4", label="选项4"),
		@Column(name="option5", attrName="option5", label="选项5"),
	}, orderBy="a.update_date DESC"
)
public class TquestionBank extends DataEntity<TquestionBank> {
	
	private static final long serialVersionUID = 1L;
	private String objName;		// 问题名称
	private Integer objType;		// 问题类型
	private Integer objExplain;		// 数据说明
	private String objAnswer;		// 答案
	private Double score;		// 问题得分
	private String analysis;		// 解析
	private String post;		// 岗位编码
	private Integer category;		// 考试类别
	private Integer difficulty;		// 困难程度
	private Integer knowledgePointType;		// 知识类型
	private String option1;		// 选项1
	private String option2;		// 选项2
	private String option3;		// 选项3
	private String option4;		// 选项4
	private String option5;		// 选项5
	private String answerName;
	private String  typeName;
    private String categoryName;
	private String postName;
	private String difficultyName;
	private String  knowledgePointName;
	private String answer,answer1,answer2,answer3,answer4,answer5;
	
	@Override
	@Valid
	@ExcelFields({
		@ExcelField(title="问题名称", attrName="objName", align=Align.CENTER, sort=30),
		@ExcelField(title="问题类型", attrName="typeName", align=Align.CENTER, sort=40),
		@ExcelField(title="答案", attrName="answerName", align=Align.CENTER, sort=50),
		@ExcelField(title="(问题)分数", attrName="score", align=Align.CENTER, sort=55),
		@ExcelField(title="(问题)解析", attrName="analysis", align=Align.CENTER, sort=60),
		@ExcelField(title="(标题)考试类别", attrName="categoryName", align=Align.CENTER, sort=70),
		@ExcelField(title="(题目)岗位类别", attrName="postName", align=Align.CENTER, sort=80),
		@ExcelField(title="(问题)困难程度", attrName="difficultyName", align=Align.CENTER, sort=85),
		@ExcelField(title="(问题)知识点类别", attrName="knowledgePointName", align=Align.CENTER, sort=90),
		@ExcelField(title="选项1", attrName="option1", align=Align.CENTER, sort=100),
		@ExcelField(title="选项2", attrName="option2", align=Align.CENTER, sort=110),
		@ExcelField(title="选项3", attrName="option3", align=Align.CENTER, sort=120),
		@ExcelField(title="选项4", attrName="option4", align=Align.CENTER, sort=130),
		@ExcelField(title="选项5", attrName="option5", align=Align.CENTER, sort=140),
	})
	public String getId() {
		return super.getId();
	}
	public TquestionBank() {
		this(null);
	}

	public TquestionBank(String id){
		super(id);
	}
	
	public String getAnswerName() {
		return answerName;
	}
	public void setAnswerName(String answerName) {
		this.answerName = answerName;
	}
	public String getTypeName() {
		return typeName;
	}
	
	public String getAnswer() {
		return answer;
	}
	public void setAnswer(String answer) {
		this.answer = answer;
	}
	public String getAnswer1() {
		return answer1;
	}
	public void setAnswer1(String answer1) {
		this.answer1 = answer1;
	}
	public String getAnswer2() {
		return answer2;
	}
	public void setAnswer2(String answer2) {
		this.answer2 = answer2;
	}
	public String getAnswer3() {
		return answer3;
	}
	public void setAnswer3(String answer3) {
		this.answer3 = answer3;
	}
	public String getAnswer4() {
		return answer4;
	}
	public void setAnswer4(String answer4) {
		this.answer4 = answer4;
	}
	public String getAnswer5() {
		return answer5;
	}
	public void setAnswer5(String answer5) {
		this.answer5 = answer5;
	}
	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}
	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public String getPostName() {
		return postName;
	}

	public void setPostName(String postName) {
		this.postName = postName;
	}

	public String getDifficultyName() {
		return difficultyName;
	}

	public void setDifficultyName(String difficultyName) {
		this.difficultyName = difficultyName;
	}

	public String getKnowledgePointName() {
		return knowledgePointName;
	}

	public void setKnowledgePointName(String knowledgePointName) {
		this.knowledgePointName = knowledgePointName;
	}

	public String getObjName() {
		return objName;
	}

	public void setObjName(String objName) {
		this.objName = objName;
	}
	
	public Integer getObjType() {
		return objType;
	}

	public void setObjType(Integer objType) {
		this.objType = objType;
	}
	
	public Integer getObjExplain() {
		return objExplain;
	}

	public void setObjExplain(Integer objExplain) {
		this.objExplain = objExplain;
	}
	
	@Length(min=0, max=10, message="答案长度不能超过 10 个字符")
	public String getObjAnswer() {
		return objAnswer;
	}

	public void setObjAnswer(String objAnswer) {
		this.objAnswer = objAnswer;
	}
	
	public Double getScore() {
		return score;
	}

	public void setScore(Double score) {
		this.score = score;
	}
	
	@Length(min=0, max=255, message="解析长度不能超过 255 个字符")
	public String getAnalysis() {
		return analysis;
	}

	public void setAnalysis(String analysis) {
		this.analysis = analysis;
	}
	
	@Length(min=0, max=50, message="岗位编码长度不能超过 50 个字符")
	public String getPost() {
		return post;
	}

	public void setPost(String post) {
		this.post = post;
	}
	
	public Integer getCategory() {
		return category;
	}

	public void setCategory(Integer category) {
		this.category = category;
	}
	
	public Integer getDifficulty() {
		return difficulty;
	}

	public void setDifficulty(Integer difficulty) {
		this.difficulty = difficulty;
	}
	
	public Integer getKnowledgePointType() {
		return knowledgePointType;
	}

	public void setKnowledgePointType(Integer knowledgePointType) {
		this.knowledgePointType = knowledgePointType;
	}
	
	@Length(min=0, max=255, message="选项1长度不能超过 255 个字符")
	public String getOption1() {
		return option1;
	}

	public void setOption1(String option1) {
		this.option1 = option1;
	}
	
	@Length(min=0, max=255, message="选项2长度不能超过 255 个字符")
	public String getOption2() {
		return option2;
	}

	public void setOption2(String option2) {
		this.option2 = option2;
	}
	
	@Length(min=0, max=255, message="选项3长度不能超过 255 个字符")
	public String getOption3() {
		return option3;
	}

	public void setOption3(String option3) {
		this.option3 = option3;
	}
	
	@Length(min=0, max=255, message="选项4长度不能超过 255 个字符")
	public String getOption4() {
		return option4;
	}

	public void setOption4(String option4) {
		this.option4 = option4;
	}
	
	@Length(min=0, max=255, message="选项5长度不能超过 255 个字符")
	public String getOption5() {
		return option5;
	}

	public void setOption5(String option5) {
		this.option5 = option5;
	}
	
}